package cn.regexp.seckill.mapper;

import cn.regexp.common.core.domain.SeckillProduct;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author Regexpei
 * @date 2024/7/5 23:20
 * @description 秒杀商品持久层
 */
@Repository
public interface SeckillProductMapper {
    /**
     * 根据time时间场次查询对应的秒杀商品集合
     *
     * @param time 场次
     * @return 秒杀商品
     */
    List<SeckillProduct> queryCurrentlySeckillProduct(Integer time);

    /**
     * 对秒杀商品库存进行递减操作
     *
     * @param seckillId 秒杀ID
     * @return 影响行数
     */
    int decrStock(Long seckillId);

    /**
     * 对秒杀商品库存进行增加操作
     *
     * @param seckillId 秒杀ID
     * @return 影响行数
     */
    int incrStock(Long seckillId);

    /**
     * 获取数据库中商品库存的数量
     *
     * @param seckillId 秒杀ID
     * @return 商品库存
     */
    int getStockCount(Long seckillId);
}
